package main

import "fmt"

var (
	fun1 = func(n1 int, n2 int) int {
		return n1 * n2
	}
)

func main() {
	// 案例：求两个数的和，使用匿名函数的方式完成
	res1 := func(n1 int, n2 int) int {
		return n1 + n2
	}(1, 2)

	fmt.Println("res1 =", res1)

	// 把匿名函数赋给a变量
	// 则a的数据类型就是函数类型，此时我们可以通过a完成调用
	a := func (n1 int, n2 int) int {
		return n1 - n2
	}

	res2 := a(10, 30)
	fmt.Println("res2 =", res2)

	// 全局匿名函数
	res4 := fun1(4, 9)
	fmt.Println("res4 =", res4)

}